<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script>
			 // 1:定义个举例函数;
			  function fn1(n){
			   console.log('我是fn1',n,this)
			  }
			  function fn2(n){
			   console.log('我是fn2',n,this)
			  }
			  let call = fn1.call
			  
			  // 2: 打印一下 他的call方法
			  // 既然是function, 本身也就肯定也有call方法了,继续
			  console.log(call)            // ƒ call() { [native code] }  
			  console.log(call.call)       // ƒ call() { [native code] }
			  console.log(call.call.call)  // ƒ call() { [native code] }


			// 3: 实际试试输出
			fn1.call(fn2,1) // 我是fn1 1 ƒ fn2(n){console.log('我是fn2',n,this)}
			fn1.call.call(fn2,1)          // 我是fn2  undefined  Number {1}
			fn1.call.call(fn2,1)            // 我是fn2  undefined  Number {1}
			fn1.call.call.call(fn2,1)       // 我是fn2  undefined  Number {1}
			fn1.call.call.call.call(fn2,1)  // 我是fn2  undefined  Number {1}

		</script>
	</body>
</html>